<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>par_kinematics: /home/wouter/ros_packages/thp-pj2-08/par_kinematics/include/par_kinematics/deltarobot.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>

<table border="0">
<tr><td valign="top" style="border-right: 1px solid #333; padding-right: 10px;" >
<p>
Project: <a href="http://ros.org/wiki/par_kinematics">par_kinematics</a>
</p>
<p>
License: BSD
</p>
<p>
Dependencies: 
<ul>
  <li>std_msgs</li>
  <li>roscpp</li>
  <li>par_trajectory_planning</li>
</ul>
</p>
<p>
Used by:
None<br />
</p>
<p>
<a href="../../index.html">All Packages</a>
</p>

</div>
</td><td valign="top" style="padding-left: 10px;" >
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>/home/wouter/ros_packages/thp-pj2-08/par_kinematics/include/par_kinematics/deltarobot.h</h1>  </div>
</div>
<div class="contents">
<a href="deltarobot_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;ros/ros.h&gt;</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;iostream&gt;</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &lt;cmath&gt;</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include &lt;limits&gt;</span>
<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;algorithm&gt;</span>
<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;<a class="code" href="armmodel_8h.html">par_kinematics/armmodel.h</a>&gt;</span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;<a class="code" href="deltaarm_8h.html">par_kinematics/deltaarm.h</a>&gt;</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;<a class="code" href="point_8h.html">par_kinematics/point.h</a>&gt;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;<a class="code" href="util_8h.html">par_kinematics/util.h</a>&gt;</span>
<a name="l00016"></a>00016 
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef _DELTAROBOT_H_</span>
<a name="l00018"></a><a class="code" href="deltarobot_8h.html#a09241cd9ed62fc3318bc08c670916744">00018</a> <span class="preprocessor"></span><span class="preprocessor">#define _DELTAROBOT_H_</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a><a class="code" href="classDeltaRobot.html">00020</a> <span class="keyword">class </span><a class="code" href="classDeltaRobot.html">DeltaRobot</a> 
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022     <span class="keyword">public</span>:
<a name="l00023"></a>00023         <span class="comment">// public variable for servo angles.</span>
<a name="l00024"></a><a class="code" href="classDeltaRobot.html#abe45e9ddd8091b2b76a4d7ac49a22795">00024</a>         <span class="keywordtype">double</span> <a class="code" href="classDeltaRobot.html#abe45e9ddd8091b2b76a4d7ac49a22795">servo</a>[3];
<a name="l00032"></a>00032         <a class="code" href="classDeltaRobot.html#a483dde020bcc6b759ac83efa29bc0e69" title="Constructor for deltarobot.">DeltaRobot</a>(<span class="keywordtype">double</span> hipLength, <span class="keywordtype">double</span> ankleLength, <span class="keywordtype">double</span> baseSize, <span class="keywordtype">double</span> effectorSize);
<a name="l00036"></a>00036         <span class="keywordtype">void</span> <a class="code" href="classDeltaRobot.html#a4e6286cb0a38b1fb404d052d75d14b0d" title="Method for creating new delta robot arms.">newArms</a>();
<a name="l00041"></a>00041         <span class="keywordtype">bool</span> <a class="code" href="classDeltaRobot.html#a1b84447cde9a3c8a8807517e3b052f4f" title="Method for checking the end effector.">isEffectorOk</a>();
<a name="l00046"></a>00046         <span class="keywordtype">bool</span> <a class="code" href="classDeltaRobot.html#aed23f0594a258fad5176651242119fc6" title="Method for moving the delta robot to a specified point.">moveto</a>(<a class="code" href="classPoint.html">Point</a> goal);
<a name="l00051"></a><a class="code" href="classDeltaRobot.html#a9aa0e9f69986c401077b1d92ba47e2a4">00051</a>         <span class="keywordtype">void</span> <a class="code" href="classDeltaRobot.html#a9aa0e9f69986c401077b1d92ba47e2a4" title="Method for setting the hip.">setHip</a>(<span class="keywordtype">double</span> b) { this-&gt;<a class="code" href="classDeltaRobot.html#a931a360f92077bf197364bbc4eba287e">hip</a> = b; <a class="code" href="classDeltaRobot.html#a4e6286cb0a38b1fb404d052d75d14b0d" title="Method for creating new delta robot arms.">newArms</a>(); }
<a name="l00056"></a><a class="code" href="classDeltaRobot.html#a147524d05d33f286752e16699f580f85">00056</a>         <span class="keywordtype">double</span> <a class="code" href="classDeltaRobot.html#a147524d05d33f286752e16699f580f85" title="Method for returning the hip length.">getHip</a>() { <span class="keywordflow">return</span> this-&gt;<a class="code" href="classDeltaRobot.html#a931a360f92077bf197364bbc4eba287e">hip</a>; }
<a name="l00061"></a><a class="code" href="classDeltaRobot.html#a48111fa770d3406cbdf910155bf48507">00061</a>         <span class="keywordtype">void</span> <a class="code" href="classDeltaRobot.html#a48111fa770d3406cbdf910155bf48507" title="Method for setting the ankle.">setAnkle</a>(<span class="keywordtype">double</span> a) { this-&gt;<a class="code" href="classDeltaRobot.html#afaea16e8df17cf56ae568f6b817f0cc9">ankle</a> = a; <a class="code" href="classDeltaRobot.html#a4e6286cb0a38b1fb404d052d75d14b0d" title="Method for creating new delta robot arms.">newArms</a>();}
<a name="l00066"></a><a class="code" href="classDeltaRobot.html#a155ae1e2e00407b44cffd641229f8f90">00066</a>         <span class="keywordtype">double</span> <a class="code" href="classDeltaRobot.html#a155ae1e2e00407b44cffd641229f8f90" title="Method for returning the ankle length.">getAnkle</a>() { <span class="keywordflow">return</span> this-&gt;<a class="code" href="classDeltaRobot.html#afaea16e8df17cf56ae568f6b817f0cc9">ankle</a>; }
<a name="l00071"></a><a class="code" href="classDeltaRobot.html#aaeb4681d8574f03fb3a7c6e5c3a5774f">00071</a>         <span class="keywordtype">void</span> <a class="code" href="classDeltaRobot.html#aaeb4681d8574f03fb3a7c6e5c3a5774f" title="Method for setting the base size.">setBase</a>(<span class="keywordtype">double</span> <a class="code" href="classDeltaRobot.html#adb62b57597123a9448a7ee4d8a17fec8">base</a>) { this-&gt;base = base; <a class="code" href="classDeltaRobot.html#a4e6286cb0a38b1fb404d052d75d14b0d" title="Method for creating new delta robot arms.">newArms</a>();}
<a name="l00076"></a><a class="code" href="classDeltaRobot.html#a432fe6e993571658b51e37143b2e8fb7">00076</a>         <span class="keywordtype">double</span> <a class="code" href="classDeltaRobot.html#a432fe6e993571658b51e37143b2e8fb7" title="Method for returning the base size.">getBase</a>() { <span class="keywordflow">return</span> this-&gt;<a class="code" href="classDeltaRobot.html#adb62b57597123a9448a7ee4d8a17fec8">base</a>; }
<a name="l00081"></a><a class="code" href="classDeltaRobot.html#a486ad47220576a06b3f2db5db5bae463">00081</a>         <span class="keywordtype">void</span> <a class="code" href="classDeltaRobot.html#a486ad47220576a06b3f2db5db5bae463" title="Method for setting effector&amp;#39;s size.">setEffector</a>(<span class="keywordtype">double</span> <a class="code" href="classDeltaRobot.html#a06ed6718a14e5747550ad5ac6276b2c3">effector</a>) { this-&gt;effector = effector; <a class="code" href="classDeltaRobot.html#a4e6286cb0a38b1fb404d052d75d14b0d" title="Method for creating new delta robot arms.">newArms</a>();}
<a name="l00086"></a><a class="code" href="classDeltaRobot.html#afd8526fa9942a453d0ea9a8af7c0306b">00086</a>         <span class="keywordtype">double</span> <a class="code" href="classDeltaRobot.html#afd8526fa9942a453d0ea9a8af7c0306b" title="Method for getting the effector&amp;#39;s size.">getEffector</a>() { <span class="keywordflow">return</span> this-&gt;<a class="code" href="classDeltaRobot.html#a06ed6718a14e5747550ad5ac6276b2c3">effector</a>; }
<a name="l00087"></a>00087 <span class="keyword">private</span>:
<a name="l00088"></a><a class="code" href="classDeltaRobot.html#a6425a5ad096a98545332feadc9e485cb">00088</a>         <a class="code" href="classArmModel.html">ArmModel</a>* <a class="code" href="classDeltaRobot.html#a6425a5ad096a98545332feadc9e485cb">m</a>[3];
<a name="l00089"></a><a class="code" href="classDeltaRobot.html#a16900ee3d373338644a956860303bda1">00089</a>         <a class="code" href="classDeltaArm.html">DeltaArm</a>* <a class="code" href="classDeltaRobot.html#a16900ee3d373338644a956860303bda1">arm</a>[3];
<a name="l00090"></a><a class="code" href="classDeltaRobot.html#afffffef6e172b447a3f679412c60958a">00090</a>         <span class="keywordtype">double</span> <a class="code" href="classDeltaRobot.html#afffffef6e172b447a3f679412c60958a">pangle</a>[3];
<a name="l00091"></a><a class="code" href="classDeltaRobot.html#a003ac461d7ad7ce24a9216970a98a611">00091</a>         <span class="keywordtype">double</span> <a class="code" href="classDeltaRobot.html#a003ac461d7ad7ce24a9216970a98a611">servoMin</a>, <a class="code" href="classDeltaRobot.html#a4b5da4b34859948b1cb2364f81b4e765">servoMax</a>;
<a name="l00092"></a><a class="code" href="classDeltaRobot.html#a931a360f92077bf197364bbc4eba287e">00092</a>         <span class="keywordtype">double</span> <a class="code" href="classDeltaRobot.html#a931a360f92077bf197364bbc4eba287e">hip</a>, <a class="code" href="classDeltaRobot.html#afaea16e8df17cf56ae568f6b817f0cc9">ankle</a>, <a class="code" href="classDeltaRobot.html#adb62b57597123a9448a7ee4d8a17fec8">base</a>, <a class="code" href="classDeltaRobot.html#a06ed6718a14e5747550ad5ac6276b2c3">effector</a>;
<a name="l00093"></a><a class="code" href="classDeltaRobot.html#aaad4dd5537c21e1906a698e66e6a3a95">00093</a>         <a class="code" href="classPoint.html">Point</a>* <a class="code" href="classDeltaRobot.html#aaad4dd5537c21e1906a698e66e6a3a95">effLoc</a>;
<a name="l00094"></a>00094 };
<a name="l00095"></a>00095 
<a name="l00096"></a>00096 <span class="preprocessor">#endif</span>
</pre></div></div>
</div>
</td></tr></table>

<hr size="1"><div style="align: right;">
<a href="http://ros.org/wiki/par_kinematics">par_kinematics</a><br />
Author(s): Wouter van Teijlingen</br />
<small>autogenerated on Mon Jun 13 2011 17:06:55</small>
</div>
</body>
</html>
